package com.showsu.editor.utils.aliyun.moderaction;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * @author edison
 */

@Getter
@AllArgsConstructor
public enum AliyunImageModerationServiceCodeEnum {

    baselineCheck("baselineCheck", "通用基线检测 检测图片中是否存在违规或不宜传播的内容。建议对涉及开放公网访问的图片均进行该项检测。"),
    baselineCheck_pro("baselineCheck_pro", "通用基线检测_专业版 在通用基线检测的基础上支持更细粒度的标签返回。建议对图片有更细粒度的处理需求和少量个性化需求时使用。"),
    tonalityImprove("tonalityImprove", "内容治理检测 检测图片中是否存在影响平台秩序、内容调性或影响用户体验的内容。建议在通用基线检测的基础上根据治理需求进行使用。"),
    profilePhotoCheck("profilePhotoCheck", "头像图片检测 检测头像中是否存在违规、不宜传播或者影响平台秩序的内容。建议对头像场景的图片均进行该项检测。"),
    postImageCheck("postImageCheck", "帖子评论图片检测 检测帖子中图片或者评论中图片是否存在违规、不宜传播或者影响平台秩序的内容。建议对贴图评论场景的图片均进行该项检测。"),
    aigcCheck("aigcCheck", "AIGC图片风险检测 针对AIGC场景，检测AIGC生成的图片是否存在违规或者不宜传播的内容。建议AIGC生成的图片都进行该项检测。"),
    aigcDetector("aigcDetector", "AIGC生成图片判断针对各种场景，判断图片是否由AIGC生成。建议需要对图片的来源进行标识时使用。"),
    aigcViolationDetection("aigcViolationDetection", "AIGC图片侵权检测 针对AIGC场景，检测AIGC生成的图片是否存在侵权风险。建议AIGC生成的用于素材、宣传类的图片都进行该项检测。"),
    advertisingCheck("advertisingCheck", "营销素材检测 针对有推广含义的图片（包括商品图、详情介绍页、投放营销的素材等）进行专门优化，检测是否有违反广告法以及其他违规或不宜传播的内容。"),
    liveStreamCheck("liveStreamCheck", "视频\\直播截图检测 检测视频/直播画面是否存在违规或不宜传播的内容。建议对涉及开放公网访问的视频/直播画面均可截图进行该项检测。"),
    oss_baselineCheck("oss_baselineCheck", "OSS基线检测（OSS普惠版专用）适用于OSS检测图片中是否存在违规或不宜传播的内容，包含对黑产类图片识别能力。"),
    ;

    /**
     * 错误码
     */
    final String code;

    /**
     * 错误描述
     */
    final String msg;

    public static AliyunImageModerationServiceCodeEnum getByCode(String code) {
        for(AliyunImageModerationServiceCodeEnum serviceCodeEnum : AliyunImageModerationServiceCodeEnum.values()) {
            if (serviceCodeEnum.getCode().equals(code)){
                return serviceCodeEnum;
            }
        }
        return AliyunImageModerationServiceCodeEnum.baselineCheck_pro;
    }
}
